package com.atguigu.common.exception;

/**
 * @create: 2024/8/22
 * @author: gyhe10
 * @description: 项目错误码枚举类
 *
 * gulimall 项目约定错误码为 5 位数字
 * 前两位表示业务场景，后三位表示错误码
 * 错误码列表：
 *      10 ：通用
 *          000 ：系统未知异常
 *          001 ：参数格式校验失败
 *          002 ：短信验证码发送频率过高
 *      11 ：商品
 *          000 ：商品上架异常
 *      12 ：订单
 *      13 ：购物车
 *      14 ：物流
 *      15 ：会员
 *          001 ：手机号已存在
 *          002 ：用户名已存在
 *      16 ：库存
 *          001 ： 库存不足
 **/

public enum BizCodeEnum {
    UNKNOW_EXCEPTION(10000, "系统未知异常"),
    VAILD_EXCEPTION(10001, "参数格式校验失败"),
    SMS_CODE_EXCEPTION(10002, "验证码获取频率过高，请稍后再试"),
    PHONE_NUMBER_INVALID(10003, "无效手机号码，请检查后重试"),
    CALL_OTHER_SERVICE_EXCEPTION(10004, "远程调用失败"),
    TOO_MANY_REQUEST_EXCEPTION(10005, "请求流量过大"),

    PRODUCT_UP_EXCEPTION(11000, "商品上架异常"),
    MEMBER_PHONE_EXISTED_EXCEPTION(15001, "手机号已被注册"),
    MEMBER_USERNAME_EXISTED_EXCEPTION(15002, "用户名已被注册"),
    LOGINACCT_PASSWORD_INVALID_EXCEPTION(15003, "账号密码错误"),
    NO_STOCK_EXCEPTION(16001, "商品库存不足");

    private int code;
    private String msg;

    BizCodeEnum(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public int getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }
}
